package main.com.votes.controller;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;

@WebServlet("/logout")
public class LogoutServlet extends HttpServlet {

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        processLogout(request, response);
    }

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        processLogout(request, response);
    }

    private void processLogout(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // 获取当前用户的 Session，如果没有则会创建一个新的
        HttpSession session = request.getSession(false);
        
        if (session != null) {
            // 使 session 失效（注销）
            session.invalidate();
        }

        // 重定向到登录页面或其他页面
        response.sendRedirect(request.getContextPath() + "/index.jsp");
    }
}
